package com.pureut.production.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.production.domain.SpunlaceOutputDetail;
import com.pureut.production.domain.dto.SpunlaceOutputDetailDto;
import com.pureut.production.domain.dto.SpunlaceOutputViewDto;
import com.pureut.production.domain.vo.SpunlaceOutputDetailVo;
import com.pureut.production.domain.vo.UpdateProductionCheckVo;

import java.util.List;

/**
 * @author: CM
 * @date: 2023/2/20    17:00
 */
public interface SpunlaceOutputDetailService extends IService<SpunlaceOutputDetail> {

    /**
     * 水刺产出明细新增
     * @param spunlaceOutputDetailVo
     * @return
     */
    boolean add(SpunlaceOutputDetailVo spunlaceOutputDetailVo);

    /**
     * 水刺产出明细列表
     * @param moNumber
     * @return
     */
    List<SpunlaceOutputDetailDto> getList(String moNumber);

    /**
     * 补打
     * @param ids
     * @return
     */
    List<SpunlaceOutputDetailDto> reprint(String ids);

    /**
     * 条码修正
     * @param spunlaceOutputDetailVo
     * @return
     */
    boolean edit(SpunlaceOutputDetailVo spunlaceOutputDetailVo);

    /**
     * 条码修正回显
     * @param id
     * @return
     */
    SpunlaceOutputViewDto editView(Long id);

    /**
     * 根据物料号码获取明细数据(fegin调用)
     */
    SpunlaceOutputDetailDto getSpunlaceDetail(String materialNumber);

    /**
     * 根据制令单号获取明细数据(fegin调用)
     */
    List<SpunlaceOutputDetailDto> getDetailList(String orderNum);

    /**
     * 品质回传检验状态到水刺
     * @param updateProductionCheckVo
     * @return
     */
    boolean spunlaceUpdateStatus(UpdateProductionCheckVo updateProductionCheckVo);

    /**
     * 品质处理回传物料等级
     * @param updateProductionCheckVo
     * @return
     */
    boolean spunlaceUpdateGrade(UpdateProductionCheckVo updateProductionCheckVo);

    /**
     * 根据母卷号码查询详情(产品追溯feign)
     * @param productionNumber
     * @return
     */
    SpunlaceOutputDetailDto selectSpunlaceDetailList(String productionNumber);
}
